/**
 * 
 */
package org.yelongframework.model.generator.manager;

import java.util.List;

import org.yelongframework.model.Modelable;
import org.yelongframework.model.manager.ModelAndTable;

/**
 * 生成的模型和表
 * 
 * @since 1.0.0
 */
public interface GenModelAndTable extends ModelAndTable {

	// ==================================================模型类==================================================

	@Override
	default Class<? extends Modelable> getModelClass() {
		throw new UnsupportedOperationException("生成器Model不允许获取class");
	}

	/**
	 * @return 模型类型包名称
	 */
	String getModelClassPackageName();

	// ==================================================字段列==================================================

	/**
	 * @return 生成的字段列
	 */
	List<GenFieldAndColumn> getGenFieldAndColumnAll();

	// ==================================================属性==================================================

	/**
	 * @return 属性
	 */
	GenModelAndTableProperties getProperties();

}
